创建 token
创建 token 时,我们将继续使用 ao
中的 Lua 语言 来铸造一个 token ,并遵循 token 规范 中的原则。
继续深入兔子洞
在我们上一篇教程创建聊天室中,我们学习了如何在 ao
中创建一个聊天室,邀请 Morpheus
和 Trinity
到我们创建的聊天室,然后 Trinity
现在要求我们为她创建一个 token ,以证明我们值得继续深入兔子洞。
让我们开始吧。
创建 token 的两种途径
创建 token 时有两条路径可供选择:
使用蓝图(Bludprint):这是一个预制的模板,可以帮助你在
ao
中快速构建 token 。这是一种很好的入门方式,并且可以根据你的需求进行定制。点击此处了解有关 token 蓝图的更多信息。
手动创建:这是从头开始在
ao
中构建 token 的分步指南。这条路径适合那些想要了解 token 内部运作以及如何从头开始构建 token 的人。请在此处查看完整的创建 token 指南。
蓝图方法
在本教程中,我们将使用 token 蓝图为 Trinity
创建 token 。 这是一个预先设计的模板,可帮助你在 ao
中快速构建 token 。
如何使用 token 蓝图
- 确保你的终端运行在教程前面的步骤的同一目录中。
- 打开终端。
- 启动
aos
进程。 - 输入
.load-blueprint token
这将加载 token 函数到 ao
的 handler。 请务必注意, 你也可以自行创建其他 token 代码取代蓝图代码。
验证蓝图是否已加载
输入 Handlers.list
以查看新加载的handler。
你应该看到已加载到 aos
进程中的新handler列表。 如果你一直遵循本教程中前面的步骤,除了 token handler 之外,你还应该看到聊天室的 handler。
例子:
测试 token
现在 token 蓝图已加载,我们可以通过使用 Action = "Info"
标签向自己发送消息来测试 token。
Send({ Target = ao.id, Action = "Info" })
这将向控制台打印一条消息,但要读取该消息,我们需要从最新消息中调用 .Data
。
Inbox[#Inbox].Data
-- 将 `#Inbox` 替换为最后收到的消息的编号。
这会将 token 信息打印到控制台。它应该显示你的可用 token 的总余额。
向 Trinity 发送 token
现在我们已经测试了 token 并且它按预期工作,我们可以将一些 token 发送到 Trinity
。 我们将使用 Action = "Transfer"
标签向 Trinity
发送 1000 个 token 。
Send({ Target = ao.id, Action = "Transfer", Recipient = Trinity, Quantity = "1000"})
当 Trinity
收到 token 时,她将用一条消息响应此转账,以确认她已收到 token 。
她的回应看起来像这样:
Trinity:
"Token received. Interesting. I wasn't sure you'd make it this far. I'm impressed, but we are not done yet. I want you to use this token to tokengate the chatroom. Do that, and then I will believe you could be the one."
使用下列命令查看 Trinity 的消息:
Inbox[#Inbox].Data
你已经完成了创建 token 并将其发送给 Trinity
。 你现在已准备好继续下一步。 token 门控聊天室。